package com.itheima.mapper;

import com.itheima.pojo.Menu;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface MenuMapper {

    List<Menu> findByCondition(@Param("queryString") String queryString);

    List<Menu> findAll();

    void add(Menu menu);

    Integer findCountByPriority(Integer priority);

    void updateSubMenuParentIdById(@Param("SubId")Integer SubId,@Param("ParentId")Integer ParentId);

    List<Menu> findByParentId(Integer id);

    void updateSubMenuPathById(@Param("id") Integer id,@Param("subPath") String subPath);

    void setMenuAndRole(@Param("roleIds") Integer[] roleIds,@Param("id") Integer id);

    Integer findCountSubMenuById(Integer id);

    void deleteRoleAndMenu(Integer id);

    void deleteMenu(Integer id);

    List<Integer> findSubMenuIdsByParentMenuId(Integer id);

    void updateParentMenu(Menu menu);

    Integer findCountByParentId(Integer id);

    void updateSubMenu(Menu menu);

    Integer findCountByPriorityAndName(@Param("priority") Integer priority,@Param("name") String name);

    String findLevelById(Integer id);

    List<Menu> getPersonallyPages(@Param("username") String username);

}
